package com.apes.scm.account.account.model;

import com.apes.framework.plugin.soe.metadata.BusinessAttributeValue;
import com.apes.scm.contract.model.Contract;
import com.apes.scm.account.tax.model.Tax;
import com.apes.scm.masterdata.frame.model.Dept;
import com.apes.scm.masterdata.party.model.PartyRole;
import com.apes.scm.masterdata.product.model.Product;
import com.apes.scm.masterdata.product.model.ProductUom;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 功能：价值库存 VO
 *
 * @author xul
 * @create 2018-03-21 9:46
 */
@Data
public class InventoryVo {

    private Product product;  //商品编码

    private ProductUom uom; //计量单位

    private PartyRole company;  //公司编码

    private Dept dept; //业务部门

    private Contract contract; //采购合同

    private Cooperation cooperation; //合作方式

    private PartyRole supplier; //供应商

    private Integer typeOfPurchaseProtocol = 0;  //采购协议属性

    private String protocolNumber = "0";  //采购协议号

    private String inventoryMode; //库存方式

    private Tax tax; //税率

    private double noTaxCostPrice = 0.0;  //无税成本单价

    private double taxCostPrice = 0.0;  //含税成本单价

    private double qty = 0.0;  //业务发生数量

    private Date inDate;  //业务发生日期

    private Date expirationDate;  //有效期限

    private List<InventoryBatch> inInventories; //用于指定商品库存

    private InventoryBatch outInventoryBatch;

    private BusinessAttributeValue priceChangeMode;  //变价方式

    public double getQty() {
        return Math.abs(qty);
    }


}
